home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -screenplay- / shareware / ovenbird / guide < prev    next >
Text File  |  1999-04-20  |  21KB  |  563 lines

  1. **********************************************************
  2. Ovenbird v0.50 by Matt Kane - INSTALLATION AND USAGE GUIDE
  3.  
  4. Author: Matti Niskanen
  5. Email: mattkane@freenet.hut.fi
  6. Homepage: http://lappi.plai.fi/~mattkane/
  7. **********************************************************
  8.  
  9. ° The Ovenbird works on any Amiga with at least 1 MB of free CHIP memory.
  10. ° Recommended configuration is the AGA-chip set, 68030-CPU and some
  11. ° FAST memory. The game can be played from a floppy or a hard disk.
  12. ° You can launch the program by double-clicking the icon or typing
  13. ° the name in a CLI-window.
  14.  
  15. ° You may copy and spread this game, it's editors and source codes
  16. ° if you want to. You can create your own scenarios and upload them
  17. ° to the Aminet with the game binary. Just don't claim you programmed
  18. ° it by yourself. This all means this game is PD (public domain).
  19. ° If you create your own levels or put a copy of the Ovenbird to a
  20. ° PD collection, please email me about it. I'd like to know where
  21. ° my program is used. I don't require money from the users.
  22. ° But if you want to, you *may* send me money! :)
  23.  
  24. ° You can find more comprehensive documentation from the older version
  25. ° Sparrow which is in the Aminet. Most of the information about the
  26. ° game and the editors are the same.
  27.  
  28. Installing the game
  29. ----------------------------
  30.  
  31. I assume that you have downloaded the Ovenbird from the Aminet.
  32. You should now have the file "ovenbird.lha", which must be depacked
  33. for example with the program called "lha". You should get these files:
  34.  
  35. You may copy them to a floppy disk or create a directory on the
  36. hard disk. See your Workbench manual how to create drawers (directories)
  37. to your hard disk and how to use them.
  38.  
  39.  
  40. Starting the game
  41. -----------------
  42.  
  43. Start the game by double-clicking the icon (if you are using
  44. Workbench) or typing the name in the CLI-window. If you run
  45. the game from a floppy disk, it will take a while as Amiga
  46. loads the game into the memory. Then the game will load some
  47. files from the disk. The screen stays black. If you get back
  48. to the Workbench screen or CLI-window any time with no error
  49. messages, your Amiga might not have enough memory to run the
  50. game or some of the game files are missing. I'm not sure if
  51. AMOS programs work with 68040 or 68060 processors. If you
  52. collide with a strange problem, email me, and I will try to
  53. figure out the solution.
  54.  
  55. If everything goes well, you'll see an intro picture and hear
  56. some music. Press either joystick fire button or any key on the
  57. keyboard. If you press "esc" in the intro screen, the game will
  58. end and exit. The game loads some files again. Then the game
  59. screen with your character screen appears.
  60.  
  61. The big screen is the game area where your character can move.
  62. The screen below the big screen is the status display. It will
  63. show your energy, skill, score and money. The lowest screen
  64. displays messages and other information.
  65.  
  66.  
  67. Playing the game
  68. ----------------
  69.  
  70. You can now start playing. You control the character with
  71. a joystick or the keyboard. Here are the controls:
  72.  
  73. Joystick direction - action
  74.  
  75. up - climb up ladders
  76. down - climb down ladders / pick up an object / crack a wall below
  77. right - walk right
  78. left - walk left
  79. up + fire - punch
  80. down + fire - kick
  81. right + fire - jump right
  82. left + fire - jump left
  83.  
  84. The keyboard keys equal to the joystick directions. It's best to
  85. use the numeric keypad. And the keys are:
  86.  
  87. 5 - up
  88. 2 - down
  89. 3 - right
  90. 1 - left
  91. - - punch
  92. + - kick
  93. 6 - jump right
  94. 4 - jump left
  95.  
  96. Other keys - these actions you can't perform with the joystick:
  97.  
  98. esc - end game and go back to the intro screen
  99. shift + q - start a new game without entering the intro screen
  100. shift + esc - exit the whole game immediately
  101.  
  102. You can crack walls or open doors, if you have found the correct key,
  103. by punching or kicking. If you have a trapdoor below your feet, perform
  104. the "pick-up"-move.
  105.  
  106. If you are jumping and want to stop it, perform the "down"-move.
  107. Your moving will stop. This option comes handy when you are
  108. crossing an area, which requires careful jumping.
  109.  
  110.  
  111. Moving around
  112. -------------
  113.  
  114. You can freely walk around. When you are over ladders, move up or down
  115. to reach other areas. Jumping is a good way to access other areas too.
  116. If you walk off a solid ground, you will fall. If you fall too high,
  117. you will lose some energy or even die. There are also some types of
  118. grounds which hurt you.
  119.  
  120.  
  121. Picking up things
  122. -----------------
  123.  
  124. You can find pick-ups around the game. You simply walk over a pick-up
  125. and perform the "pick-up"-move (down) to pick it up. You may get or
  126. lose energy, points or money. You may also get a key to a door. Keep
  127. looking at the message screen when you pick something up.
  128.  
  129.  
  130. Fighting with the enemies
  131. -------------------------
  132.  
  133. Sometimes you enter a room which has one or more enemies in it.
  134. The enemies will try to reach and kill you. You can fight with
  135. them if you want to, and sometimes it is necessary to kill an
  136. enemy toget forward in the game. Move close to an enemy and
  137. punch or kick it. Some enemies die after a few hits, but some
  138. are so tough that they require lots of hits. And some of them
  139. will rise up after lying down for a while!
  140.  
  141. You can fool the enemies. Make an enemy follow you to a place
  142. that hurts, like spikes. Then the enemy will die and you'll get
  143. the points and the money. Just make sure you are not standing
  144. on a hurting ground by yourself.
  145.  
  146. There's another way to fool them. When two or more enemies are
  147. surrounding you, let them come as close as possible and then
  148. jump away - the enemies will hit each other and with some luck
  149. kill themselves. And you'll get the points and the money!
  150.  
  151.  
  152. The target of the game
  153. ----------------------
  154.  
  155. The main purpose of the game is to find the exit door. It is
  156. possible that it's behind many locked doors. When you enter
  157. the exit door, you'll see "the end"-picture and hear some music.
  158. The game is then completed. Press any key or the fire button of
  159. the joystick to get back to the intro screen.
  160.  
  161.  
  162. Creating your own scenarios and editing the game
  163. ------------------------------------------------
  164.  
  165. You need to download the game editor archive "ovenbirded.lha"
  166. from the Aminet directory "game/misc". Unpack the archive and
  167. read the documents. You will propably need a hard drive.
  168. I'm not sure if you can fit all the needed files to a single
  169. floppy disk.
  170.  
  171.  
  172. The past, the present and the future
  173. ------------------------------------
  174.  
  175. I programmed Ovenbird because Sparrow (which was my final work
  176. in the datatechnology school) was so restricted. Sparrow was
  177. also so badly coded that it was impossible to create new options
  178. for it. Ovenbird represents much better code and expandibility.
  179.  
  180. There may be guns, bullets and lifts coming. It's just how
  181. slow the game will become if I add weapons.
  182.  
  183. I used a very old version of AMOS (v1.35), which I got with the
  184. CU Amiga-magazine. Even after compiling the game with the old
  185. AMOS compiler it's very slow on low-end Amigas. I can't help it.
  186. I tried to code quite close to machine-language-technique.
  187.  
  188. I am not sure if I'm going to program Ovenbird any more.
  189. There's lots of things to fix and add, however.
  190.  
  191. I got a total 0 feedback letters about Sparrow. If there's
  192. nobody using the Amiga software anymore, then there's no idea
  193. to produce it. I like the Amiga very much, but my occupation
  194. requires to change to the PC platform, which I don't like
  195. at all. But you can't make money with the Amiga.
  196.  
  197. Well, programming of the computers is not a waste of time,
  198. if your work will include the use of the computers.
  199.  
  200. I'm sure I will install UAE (Universal Amiga Emulator) on
  201. my PC. For example Personal Paint 7 is so good program that
  202. I can't live without. I don't know any *drawing* programs
  203. for PC/Windows. There's millions of picture-processing
  204. programs, which claim to be the best art package, but I can't
  205. draw with them at all.
  206.  
  207.  
  208. Source codes
  209. ------------
  210.  
  211. All the AMOS-source codes should be found from the Aminet in
  212. the same directory the game is in. The archive is called
  213. "ovenbird_src.lha". The archive does not contain any explanations
  214. or guides, because I believe anyone who is interested of the
  215. source codes, knows so much about AMOS-programming that he/she
  216. doesn't need any guides. The source codes themselves contain
  217. some comments.
  218.  
  219.  
  220. Credits
  221. -------
  222.  
  223. Thanks to Stamen for the great music!
  224.  
  225. The graphic is quite blocky. I just didn't have the spirit
  226. to use all the 256 blocks this time. I saved some ideas for
  227. the future.
  228.  
  229. Sorry about the quick-drawed background in "the end"-picture.
  230. I wanted to get the Ovenbird to the Aminet as soon as possible!
  231.  
  232.  
  233. ****************************
  234. INSTRUCTIONS FOR THE EDITORS
  235. ****************************
  236.  
  237. First you should unpack the editor archive "ovenbirded.lha",
  238. which you downloaded from the Aminet directory "game/misc".
  239. Copy the files to the Ovenbird game directory. You should
  240. see all the four editor and one game icon in the game drawer.
  241. The numbers in the icons indicate the usage order. First
  242. you have to edit the rooms, then create enemies and so on.
  243. If you have extreme problems with installing or using the
  244. editors, you may email me. I think that nowadays Amiga users
  245. are quite talented with their machines, so I don't want to
  246. use dozens of pages explaining how to move the mouse over
  247. an icon.
  248.  
  249.  
  250. General information
  251. -------------------
  252.  
  253. The data files that the editors need (N) and create (C) are:
  254.  
  255. Roomed
  256.  N
  257.   blocks.iff
  258.  C
  259.   rooms.map
  260.  
  261. Enemyed
  262.  N
  263.   frames.iff
  264.  C
  265.   enemies.abk
  266.   enemies.dat
  267.  
  268. Pickuped
  269.  N
  270.   blocks.iff
  271.  C
  272.   pickups.dat
  273.  
  274. Setter
  275.  N
  276.   enemies.abk
  277.   enemies.dat
  278.   pickups.dat
  279.   rooms.map
  280.  C
  281.   objects.dat
  282.   objects.map
  283.   texts.dat
  284.  
  285. Game
  286.  N
  287.   begin.iff
  288.   blocks.iff
  289.   end.iff
  290.   enemies.abk
  291.   enemies.dat
  292.   mod.begin
  293.   mod.end
  294.   mod.game
  295.   objects.dat
  296.   objects.map
  297.   pickups.dat
  298.   rooms.map
  299.   status.iff
  300.   texts.dat
  301.  
  302. So if you create your own scenario and want to publish it, you need
  303. to include the files listed above in the "game" section. You may also
  304. want to include the "game"-executable file, if the other people don't
  305. have it. You can also leave the music modules away. If the game doesn't
  306. find them on the disk, it won't crash or try to play them.
  307. If you want that other people can also edit your scenario,
  308. include the file "frames.iff", which contains the graphics for
  309. the characters (enemies).
  310.  
  311. The ".iff"-files are normal Amiga IFF-files. The "mod."-files
  312. are normal Protracker music modules. Just remember that AMOS
  313. doesn't recognize all the commands like "finetune".
  314.  
  315. When you draw the graphics, remember to use 4-bit palette.
  316. AMOS can't handle 8-bit colour values. If you have the AGA-chip,
  317. turn it off while rebooting. During the gameplay it is preferred to
  318. let the AGA on, because the graphics are faster with it.
  319.  
  320. Status display and shop graphics are in the "status.iff"-file.
  321. Just draw your own versions over the original ones. Don't cross
  322. the borders - the sizes and locations are locked inside the game.
  323.  
  324. Roomed
  325. ------
  326.  
  327. The game map, where the characters move, consists of 100 rooms.
  328. There are 10 rooms in horizontal direction and 10 rooms in
  329. vertical direction. The width of a room is 20 bytes and the height
  330. is 12 bytes. The graphic map takes 20*12*100=24000 bytes memory.
  331. The rooms are mapped side by side in the memory. So if you want to
  332. go to "next line" in the map, you have to add the value 200
  333. to the room pointer. Or if you know the pointer of the upper left
  334. corner of the room, you have to add 20 to move one room to right.
  335. And if you want to move one room up, subtract 200*12=2400 from
  336. the upper left pointer of the room.
  337.  
  338. The following ASCII-art tries to explain the map graphically:
  339.  
  340. Memory pointer (or offset from the beginning of the allocated memory area)
  341.       19 39 59 79 99...
  342. 0    +--+--+--+--+--+--+--+--+--+--+ 199
  343.      |1 |2 |3 |4 |5 |6 |7 |8 |9 |10|
  344.      +--+--+--+--+--+--+--+--+--+--+
  345. 2400 |11|12|13|14|15|16|17|18|19|20| 2599
  346.  
  347. ...and so on. One byte on the map represents one block in the game.
  348. A graphic block is 16*16 pixels and one room holds 20*12 blocks.
  349. The block graphic is taken from the "blocks.iff"-file.
  350.  
  351. As said, the rooms and the map are formed of little blocks.
  352. You can put the blocks in the upper screen and form sensible graphics.
  353. You can select the block from the lower screen. You can use
  354. the menus to perform some operations. Just try them out and
  355. you will see what happens. There are also some keyboard commands:
  356.  
  357. u - undo last action
  358. , - pick the block under the mouse
  359.  
  360. arrow up - move map one block up
  361. arrow down - move map one block down
  362. arrow right - move map one block right
  363. arrow left - move map one block left
  364.  
  365. shift+au - move map one room (20 blocks) up
  366. shift+ad - move map one room down
  367. shift+ar - move map one room left
  368. shift+al - move map one room right
  369.  
  370. alt+au - move to the upper corner of the map
  371. alt+ad - move to the lower corner of the map
  372. alt+ar - move the the right corner of the map
  373. alt+al - move the the left corner of the map
  374.  
  375. I suggest that you move from a room to another using the shift key.
  376. You can peep the other room with the plain arrow keys, but move then
  377. back, so you won't accidentially break the borders of the areas of
  378. the rooms. When you've created enough rooms, save them and set your
  379. starting point with the "setter"-editor. Then start the game and see
  380. how your rooms work. It is not necessary to create all of the 100
  381. rooms at once.
  382.  
  383. The blocks have their own behaviour. Take a look at the graphic
  384. of the example game and notice how the blocks work in the game.
  385. Here's a list of the block indexes and how they affect to the characters:
  386.  
  387. Block - meaning
  388.  
  389. 0-119 - character falls if is above this
  390. 80-99 - character can swim on this (not yet implemented)
  391. 100-109 - character gets hurt if moves over this
  392. 110-119 - character gets badly hurt if moves over this
  393. 120-139 - character can climb over this (ladders)
  394. 140-159 - character can break this
  395. 160-255 - character can't move through this
  396.  
  397. If you look at the "blocks.iff"-file of the example game, you'll
  398. see some objects in the lower area of the image. They are used as
  399. objects and explained in the "pickuped"-section.
  400.  
  401.  
  402. Enemyed
  403. -------
  404.  
  405. I suggest that you first load the enemy data of the example game
  406. to see how everything works. The enemies (characters) get their
  407. graphic images from the file "frames.iff".
  408.  
  409. First of all, set the amount of frames to 1. Then set the correct
  410. values for the width and height. Select an animation from
  411. the menu. Then select the frames for that animation from the
  412. bottom of the screen.
  413.  
  414. This selection has one special feature. If you hold down the
  415. shift key while pressing the left mouse button, that frame will
  416. become an "action frame". I used to set all the moving frames
  417. to action frames, so the character moves on every animation frame.
  418. But when I created the punch and kick animations, I set the action
  419. frame to the frame where the character seems to hit. After setting
  420. that frame I released the shift key and added the same frame again,
  421. but that wasn't an action frame anymore. So when you want the
  422. action happen, set the frame as an action frame. This is just the
  423. same idea as in the editors of the Amiga game Alien Breed 3D II.
  424.  
  425. Again: create something, see how it affects in the game,
  426. modify it again, run the game and so on. You'll find the logic.
  427.  
  428. When you draw your own enemies, just remember that the sizes of
  429. the frames of a character must be the same. Again, take a look
  430. at the example graphics. Do not use bigger width than 1023 for
  431. the whole image than 1023, because AMOS can't handle it. And I
  432. think 640 pixels width is enough for all the enemies. Don't
  433. create all enemies as big as possible. You might run out of
  434. CHIP memory, especially on low-end Amigas. The sizes of the
  435. files of the example game are a quite good guidance how big the
  436. maximum sizes can be.
  437.  
  438.  
  439. Pickuped
  440. --------
  441.  
  442. There can be 30 different pick-ups in the game. Their graphics
  443. are stored in the file "blocks.iff". Pick-ups are placed to the
  444. map in the "setter"-editor. The next instructions are taken
  445. from the documents of the Sparrow game.
  446.  
  447. Select the image for an object (pick-up) and use the menu to set its
  448. values.
  449.  
  450. In the default game graphics you see a first-aid-kit in the leftmost
  451. corner. You can select this block as the object graphic. Then there
  452. is kind of negative shadow image next to it. This is called the mask
  453. graphic of the object. Those who know the idea of graphic masking
  454. can skip the next two paragraphs. I couldn't invent a better and
  455. faster technique for the object graphic blitting.
  456.  
  457. Lets say you have drawn a ball image. You must put a mask of the ball
  458. image next to the original image. The mask is a two colour negative
  459. shadow of the original image. The area which contains object graphics
  460. must have the colour value 0 and the other are must have the highest
  461. possible colour value, which is 63 at the moment. Because the Ovenbird
  462. uses 64-colour EHB-graphic mode, you need to select the very last
  463. colour for the mask colour.
  464.  
  465. I'll explain how to create the mask using Personal Paint.
  466. First draw your object to the area of 16 x 16 pixels. You may use
  467. any colours you want to. Then pick the area of 16 x 16 pixels as a brush.
  468. Press the 'f3' key to set 'replace' mode. Place the new brush next to
  469. the original image. Press the 'f1' key to  use the matte mode.
  470. Select the highest or last colour (63) in the palette with left mouse
  471. button and press the 'f2' key. Now the brush should be just one colour
  472. shadow image of the object. Then place the brush to the mask area again.
  473. Then pick the two colour image as brush once more. Select the "Brush"-menu,
  474. the submenu "Color" and option "Complement". Now you should have a
  475. two-colour inverted image of the object. Press the 'f3' key and
  476. place the complete mask to the mask area.
  477.  
  478.  
  479. Setter
  480. ------
  481.  
  482. This is the most complicated one. You should have drawn and defined
  483. all the graphics before you use Setter. When you learn to use the
  484. Ovenbird well, you'll create things faster and in free order.
  485.  
  486. Anything that is put on the map in the setter is an object.
  487. You can have 999 different objects in the map. One object can
  488. be used several times.
  489.  
  490. Load the example data and select the menu "Insert/Objects".
  491. You'll get some buttons to the lower part of the screen.
  492. You can change the values of the variables by clicking the
  493. plus and minus icons. You can make the values change faster
  494. by holding down shift, alt or Amiga key.
  495.  
  496. Here's the meanings of the buttons:
  497.  
  498. N - object number (1-999)
  499. T - object type
  500. V - type value (0-255)
  501. C - copy these values to the clipboard
  502. P - paste the contents of the clipboard to this object
  503. Key - which key player gets
  504. Gun - which gun player gets (NOT IN USE)
  505. Text - which text is shown by this object
  506. Bullets - how many bullets does player get (NOT IN USE)
  507. For gun - for this gun (NOT IN USE)
  508. R - does enemy resurrect (time in seconds, 0-no resurrect)
  509.  
  510. There are 9 types of objects. The types are:
  511.  
  512. 0 - nothing (means that this object is not in use)
  513. 1 - pickup
  514. 2 - enemy
  515. 3 - text
  516. 4 - door
  517. 5 - lift (NOT IN USE)
  518. 6 - energy (player gets energy if stands over this)
  519. 7 - shop (player can access to a shop)
  520. 8 - exit (the game is finished)
  521.  
  522. Type value tells the game the object value. If the object type
  523. is a pick-up, then the value indicates which pick-up the object is.
  524. Remember that the object value may not be bigger than it is
  525. permitted. It is possible to place enemy number 255, but that
  526. will not work. Always set the value before setting the type.
  527.  
  528. There's a feature (which is now documented ;) that I couldn't solve.
  529. If you haven't defined say the pick-up image of the enemy number
  530. 6 and you try to place the enemy on the map, the editor will crash.
  531. AMOS just didn't have any command to check if the bob image exists.
  532.  
  533. If you want a text appear when the player moves over the place,
  534. set the type to "text", but the text number is set in the
  535. "type value" variable. That is quite illogical, I admit.
  536. In other cases, if player picks up a pick-up, and you want
  537. a certain text appear, just set the correct value for the
  538. "text"-variable. Otherwise the name of the object will be shown.
  539. The same method is used with enemies and doors. Again - look
  540. at the example game!
  541.  
  542. And remember that you can "pick up" an object by moving the mouse
  543. over the object and pressing the ","-key, just like in the Roomed.
  544. If you want to quickly find an unused object, select the option
  545. "Find unused" from the menu. You will get the first possible
  546. object, which type is "none", from the object list.
  547.  
  548. If you want to erase the current object from the whole game map,
  549. select "Erase from map" from the menu. Remember to erase the
  550. object data too - use "Erase" from the "Edit"-menu. Now the object
  551. data is completely destroyed from the object list and the map.
  552.  
  553. When you type the text strings, do not use ",". AMOS will cut
  554. the line from that character.
  555.  
  556. Notes about Setter
  557.  
  558. When you want to place a door somewhere, you need to make the
  559. area unpassable in the room editor. Then use Setter to define
  560. the area as a door. Remember, a door must be consistent and
  561. it can only be one block width. The graphics (block) to replace
  562. the door after opening will be taken from the player's position.